package cn.wolfcode.luowowo.website.advice;

import cn.wolfcode.luowowo.common.exception.LogicException;
import cn.wolfcode.luowowo.common.util.AjaxResult;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

import java.io.IOException;

@ControllerAdvice  //aop中的 功能增强标签
// 作用:对请求分发处理前,处理后增强功能
// 作用1:运用场景:统一时间参数格式
// 作用2:运用场景:统一异常处理
public class CommonExceptionHandler {
    //异常处理标签,参数指定:要统一处理的异常
    @ExceptionHandler(LogicException.class)

   //这个方法跟请求映射方法声明一样,统一异常处理这个是用户异常处理
    public Object LogicExp(Exception e) throws IOException {
        e.printStackTrace();
        return new AjaxResult(false,e.getMessage());
    }


    @ExceptionHandler(RuntimeException.class)
    @ResponseBody
    //这个是系统异常处理
    public Object runTimeExp(Exception e) throws IOException {
        e.printStackTrace();
        return new AjaxResult(false,"系统异常,请联系管理员");

    }
}